#include <iostream>
using namespace std;

template <int N>
struct fact
{
	enum {sum = N * fact<N-1>::sum};
};

template<>
struct fact< 1 >
{
	enum{sum = 1};
};

int main(void)
{
	cout<<fact< 6 >::sum<<endl;
	return 0;
}
